1. Field of the Invention
The invention relates to a video transcoding method. The invention more particularly relates to a method for estimating an output motion vector for video transcoding and a transcoder using the method.
2. Description of the Related Art
A digital video system has significant advantages over an analog video system. For example, the digital video system may transmit or store information without distortion. The digital video system, however, needs a wide bandwidth for transmission and a vast storage due to videos having enormous amounts of information. Therefore, the drawbacks in digital video systems have been serious problems for video broadcasting, etc. through the Internet that has limited bandwidths.
Many efforts to reduce the bandwidth demands of digital signals, such as video stream signals, have been made, resulting in the development of compression technologies. A typical example is the MPEG-2 technology, which was defined by MPEG (Moving Picture Experts Group). MPEG-2 compresses video data remarkably by curtailing redundant information that exists considerably in a video stream.
In general, the MPEG coding process performs as follows. Video signals are sampled and quantized as chrominance elements and luminance elements of digital video pixels. The chrominance elements and luminance elements are stored as macroblock structures. The chrominance elements and the luminance elements stored in a macroblock are transformed to frequency coefficients through Discrete Cosine Transform (hereinafter referred to as DCT).
The MPEG encoding process focuses on the fact that the human optical system may not sense very well high-frequency elements of the variations of the chrominance elements and the luminance elements. Therefore, the high frequency DCT coefficients are relatively less precisely quantized. The quantized DCT coefficients are more compressed through a Run-Level Coding (RLC) and a Variable Length Coding (VLC).
The MPEG standards provide an additional compression by a motion compensation method. According to the MPEG standards, there are three types of pictures (of frames), that is, an I-frame, a P-frame, and a B-frame. The I-frame represents an Intra-coded frame and can be reconstructed without using a reference frame. Both the P-frame and the B-frame are inter-coded frames and can be reconstructed using reference frames. For example, both of the P-frame and the B-frame include motion vectors indicating motions with respect to a reference frame. The adoption of the motion vectors in MPEG greatly contributes to reducing the needed bandwidth, particularly for video streams, because adjacent frames in a video stream are likely to be very similar.
Recently, digital applications using compression methods such as MPEG-2 have been increasing. Transcoding methods, which convert one type of video stream with a particular bit rate into other types of video streams with different bit rates, have particularly been in demand due to various applications such as video searching, a picture in picture function, video joining, video editing, converting bit rates, with the bit streams being compressed. For example, a JPEG (Joint Photographic Experts Group) type bit stream could be converted into an MPEG bit stream, a DV (Digital Video) format that is a digital output of a digital camcorder could be converted into an MPEG bit stream, or a high quality HD (High Definition) MPEG bit stream could be converted into a low quality SD (Standard Definition) MPEG bit stream.
The transcoding algorithms are classified into spatial domain transcoding and DCT domain transcoding. In a transcoding process, a transcoder efficiently produces output parameters, which would be used later in coding processes, and performs the coding processes using the output parameters. Output parameter production algorithms focus mainly on classifying a type (or a mode) of an output macroblock and estimating output motion vectors, because the type of the output macroblock and the output motion vectors are very importantly used in the transcoding process.
When downsizing bit streams, such as converting a high quality HD MPEG bit stream into a low quality SD MPEG bit stream, there are roughly two kinds of downsizing, that is, an integer scaling and a non-integer scaling.
Particularly, as for the non-integer scaling that is different from the integer scaling, part of input macroblocks that overlap a correlation region correlated with an output macroblock, may each have different influences on the output macroblock, so that an output motion vector cannot be easily estimated.
As described as above, since the estimation of output motion vectors is not easy and affects the performance of the transcoder, a motion vector refinement process is needed. The refinement process for estimating the more correct output motion vectors is: first, to obtain a reference vector, and second, to perform refinement in an established search window centering on the reference vector.
It is very important to establish a proper search window in the refinement process. With too narrow a search window, the output motion vectors cannot be properly estimated in spite of the motion vector refinement process. Alternatively, with too wide a search window, the process would be very complex, need a longer estimation time due to more computation, and make embodiments of the transcoder difficult.
Therefore, to perform the motion vector refinement while establishing a proper search window, as well as reducing computation is a very important point in the output motion vector estimation.